<?php

use think\facade\Route;

//不需要授权的
Route::group(function (){
    Route::post('login','Hslogin/login'); //登入
    Route::post('wxlogin','Hslogin/wxlogin'); //扫码登入\单点登入
    Route::any('config_before_login','Hslogin/getConfigBeforeLogin'); //获取登录前配置
    Route::any('contact_event','Hscallback/getContactEvent'); //通讯录回调
    Route::any('customer_event','Hscallback/getCustomerEvent'); //客户回调
    Route::any('pullmsg_event','Hscallback/callbackPullMsg'); //会话存档回调

    Route::post('json_decode',function (){
        $data = input('json');
        if(!$data) return error_json('失败,参数不能为空');
        return success_json('成功',json_decode($data));
    }); //给前端消息体转格式
    if(env('app_debug') == true){
        Route::any('send_test_msg','Index/sendTestMsg');//功能测试
    }

});

//需要登入权限的
Route::group(function (){
//    Route::get('refreshtoken','Index/rereshtoken'); //刷新token
    Route::post('system/clear_cache','Index/clearCache');           //系统配置---清除缓存
    //获取js签名信息
    Route::post('get_signature','Index/getJsTicketInfo');                      //获取js签名信息
})->middleware('msglogin');

//需要登入权限和管理组权限的
Route::group(function (){
    //风控中心接口
    Route::post('index','Index/index');                      //首页信息
    Route::get('navlst','Index/navlst');                    //菜单列表
    //通用接口
    Route::post('organization/get_department_lst','Hsorganization/getDepartmentLst');                //全量获取组织架构\成员信息(带授权范围权限)
    Route::post('organization/get_department_members','Hsorganization/getDeparmentMembers');         //获取指定部门成员(带授权范围权限)[暂未使用]
    Route::post('organization/get_user_or_cust_info','Hsorganization/getUserOrCustInfo');         //根据userid获取成员或者客户信息(名片消息用)
    Route::post('organization/get_permit_lst','Hsorganization/getPermitLst');         //获取被监管成员列表(带授权范围权限)
    Route::post('operatelog/add_log','HsoperateLog/addLog');     //操作日志---添加日志(前端),主要添加查看聊天记录日志
    //Route::post('upload/upload_file','Hsjson/upload');          //上传文件  [上传企业logo,未启用用]
    Route::post('upload/jssdk_upload','Hsjson/jssdk_upload');   //JSSDK文件上传接口
    Route::post('account/get_admin_account','Hsadmin/getAdminAccount');         //获取管理员可见账号
    //会话消息接口
        //会话消息
        Route::post('chat/get_member_chat_object','Hschat/getMemberChatObject');                //获取成员聊天对象列表
        Route::any('chat/get_chat_lst','Hschat/getChatLst');                                   //获取指定聊天对象聊天记录
        Route::post('chat/get_chat_info','Hschat/getChatInfo');                               //根据消息id获取消息(撤回消息等用)
    //消息审计
        Route::any('chat/get_chat_audit_lst','Hschat/getChatAuditLst');      //消息审计列表
    //外部客户管理
        //客户管理
        Route::post('cust/get_cust_lst','Hscust/getCustLst');                           //客户管理-获取客户列表
        Route::post('cust/get_cust_detail','Hscust/getCustDetail');                        //客户管理-获取客户详情
        //流失客户
        Route::post('cust/get_lost_customers','Hscust/getLostCustomers');                 //客户管理-获取流失客户列表
        //群组管理
        Route::post('group_chat/get_group_chat_lst','HsgroupChat/getGroupChatLst');      //获取群组列表
    //数据统计接口
        Route::post('message_statistics/get_chat_statistics_lst','HsmessageStatistics/getChatStatisticsLst');      //消息统计列表
        Route::post('organization/get_staff_lst','Hsorganization/getStaffLst');      //员工统计列表
        Route::post('subscribe/get_subscribe_list','Hssubscribe/getSubscribeList');      //预警统计列表
        Route::post('subscribe/get_sen_list','Hssubscribe/getSenList');      //预警统计查看
        Route::post('subscribe/get_context','Hssubscribe/getContext');      //上下文查看
    //安全配置接口
        //安全配置-企业信息
        Route::post('safety/huihua_corp_info','HscorpInfo/huihuaCorpInfo'); //企业信息(展示信息)
        //安全配置--组织架构
        Route::post('organization/sync_contacts','Hsorganization/syncContacts');         //手动同步成员、部门
        Route::post('organization/get_department_members_chat_cust_lst','Hsorganization/getDeparmentMembersChatCustLst');      //获取指定部门成员(带聊天\客户统计信息)列表
        Route::post('organization/get_all_user','Hsorganization/getAllUser');  //获取所有企业成员
        Route::post('organization/enable_corp_user','Hsorganization/enableCorpUser');         //启用企业成员
        //安全配置--密钥管理
        Route::post('safety/get_corp_info','HscorpInfo/getCorpInfo');   //获取企业密钥信息
        Route::post('safety/up_corp_info','HscorpInfo/upCorpInfo');     //更新企业密钥信息
        Route::post('safety/generate_rsa_keys','HscorpInfo/generateRsaKeys');     //生成公钥私钥
        //安全配置--操作日志
        Route::post('operatelog/lst','HsoperateLog/index');     //操作日志---列表
        //订阅管理
        Route::post('subscribe/lst','Hssubscribe/index');           //订阅管理---列表
        Route::post('subscribe/edit','Hssubscribe/edit');               //订阅管理---获取单条信息
        Route::post('subscribe/save','Hssubscribe/save');               //订阅管理---新增保存/更新保存
        Route::post('subscribe/set_status','Hssubscribe/setStatus');    //订阅管理---快捷状态修改
        Route::post('subscribe/delete','Hssubscribe/delete');           //订阅管理---软删除
    //系统配置接口
        //系统配置--菜单管理
        Route::post('menu/lst','Hsmenu/index');                 //菜单管理---列表
        Route::post('menu/edit','Hsmenu/edit');                 //菜单管理---获取单条信息
        Route::post('menu/save','Hsmenu/save');                 //菜单管理---新增保存/更新保存
        Route::post('menu/set_status','Hsmenu/setStatus');      //菜单管理---快捷状态修改
        Route::post('menu/delete','Hsmenu/delete');             //菜单管理---软删除
        //系统配置--管理员账号
        Route::post('account/lst','Hsadmin/index');             //管理员账号---列表
        Route::post('account/edit','Hsadmin/edit');             //管理员账号---获取单条信息
        Route::post('account/save','Hsadmin/save');             //管理员账号---新增保存/更新保存
        Route::post('account/get_bind_user_list','Hsadmin/getBindUserList');//管理员账号---获取已绑定账号userid列表
        Route::post('account/account_generator','Hsadmin/accountGenerator');//管理员账号---账号生成
        Route::post('account/set_status','Hsadmin/setStatus');  //管理员账号---快捷状态修改
        Route::post('account/delete','Hsadmin/delete');         //管理员账号---软删除
        //系统配置--权限组管理
        Route::post('group/lst','Hsgroup/index');               //权限组管理---列表
        Route::post('group/all_group','Hsgroup/getAllGroup');   //权限组管理---全部权限组
    //    Route::post('group/edit','Hsgroup/edit');               //权限组管理---获取单条信息(前端不需要)
        Route::post('group/save','Hsgroup/save');               //权限组管理---新增保存/更新保存
        Route::post('group/set_status','Hsgroup/setStatus');    //权限组管理---快捷状态修改
        Route::post('group/delete','Hsgroup/delete');           //权限组管理---软删除
        Route::post('group/get_auth','Hsgroup/getAuth');        //权限组管理---获取授权
        Route::post('group/auth','Hsgroup/auth');               //权限组管理---授权
        //系统配置--平台配置
        Route::post('system/site_config','Index/siteConfig');           //配置信息
        Route::post('system/up_site_config','Index/upSiteConfig');      //更新配置信息
        //系统配置--修改密码
        Route::post('system/change_password','Index/changePassword');   //修改密码
        Route::post('system/change_email','Index/changeEmail');   //修改邮箱
    //手机端用
        Route::post('organization/get_cust_message_obj','Hsorganization/getCustMessageObj'); //侧边栏获取客户会话对象列表
        Route::post('get_user_info','Index/getUserInfo'); //获取登入用户信息
})->middleware('msglogin')->middleware('msgapi');